package com.jrx.anytxn.transaction.dto.loan;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @ClassName LoanMainInfoRes
 *  贷款记录列表详情响应实体
 * @author  Administrator
 * date  2019/8/6 0006
 * @Version V1.0
 **/
public class LoanRecordRes implements Serializable {

    /**
     * 订单编号
     */
    private String loanId;

    /**
     * 产品编号
     */
    private String productId;

    /**
     * 贷款交易日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date loanTxnDate;

    /**
     * 放款日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date loanLendingDate;

    /**
     * 贷款金额
     */
    private BigDecimal loanAmount;

    /**
     * 已还本金
     */
    private BigDecimal paidPrincipalAmount;

    /**
     * 贷款期数
     */
    private Integer loanTenor;

    /**
     * 贷款用途
     */
    private String loanUse;

    /**
     * 贷款状态
     */
    private String accountStatus;

    /**
     * 还款方式表ID
     */
    @JsonIgnore
    private String amortMethodTableId;

    /**
     * 还款方式
     */
    private String amortMethodCode;

    /**
     * 还款方式描述
     */
    private String amortMethodDesc;

    /**
     * 还款日
     */
    private Integer paymentDateDd;


    /**
     * 强制入催标识 0 否 1 是
     */
    private String compelCollectionFlag;

    /**
     * 是否支持当日借当日还
     * @return
     */
    private String loanDayPayFlag;

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public String getAmortMethodTableId() {
        return amortMethodTableId;
    }

    public void setAmortMethodTableId(String amortMethodTableId) {
        this.amortMethodTableId = amortMethodTableId;
    }

    public String getLoanId() {
        return loanId;
    }

    public void setLoanId(String loanId) {
        this.loanId = loanId;
    }

    public Date getLoanTxnDate() {
        return loanTxnDate;
    }

    public void setLoanTxnDate(Date loanTxnDate) {
        this.loanTxnDate = loanTxnDate;
    }

    public Date getLoanLendingDate() {
        return loanLendingDate;
    }

    public void setLoanLendingDate(Date loanLendingDate) {
        this.loanLendingDate = loanLendingDate;
    }

    public BigDecimal getLoanAmount() {
        return loanAmount;
    }

    public void setLoanAmount(BigDecimal loanAmount) {
        this.loanAmount = loanAmount;
    }

    public BigDecimal getPaidPrincipalAmount() {
        return paidPrincipalAmount;
    }

    public void setPaidPrincipalAmount(BigDecimal paidPrincipalAmount) {
        this.paidPrincipalAmount = paidPrincipalAmount;
    }

    public Integer getLoanTenor() {
        return loanTenor;
    }

    public void setLoanTenor(Integer loanTenor) {
        this.loanTenor = loanTenor;
    }

    public String getLoanUse() {
        return loanUse;
    }

    public void setLoanUse(String loanUse) {
        this.loanUse = loanUse;
    }

    public String getAmortMethodCode() {
        return amortMethodCode;
    }

    public void setAmortMethodCode(String amortMethodCode) {
        this.amortMethodCode = amortMethodCode;
    }

    public String getAmortMethodDesc() {
        return amortMethodDesc;
    }

    public void setAmortMethodDesc(String amortMethodDesc) {
        this.amortMethodDesc = amortMethodDesc;
    }

    public String getAccountStatus() {
        return accountStatus;
    }

    public void setAccountStatus(String accountStatus) {
        this.accountStatus = accountStatus;
    }

    public Integer getPaymentDateDd() {
        return paymentDateDd;
    }

    public void setPaymentDateDd(Integer paymentDateDd) {
        this.paymentDateDd = paymentDateDd;
    }

    public String getCompelCollectionFlag() {
        return compelCollectionFlag;
    }

    public void setCompelCollectionFlag(String compelCollectionFlag) {
        this.compelCollectionFlag = compelCollectionFlag;
    }

    public String getLoanDayPayFlag() {
        return loanDayPayFlag;
    }

    public void setLoanDayPayFlag(String loanDayPayFlag) {
        this.loanDayPayFlag = loanDayPayFlag;
    }
}
